<?php
/**
 * 功能函数
 */

/**
 * GM登录，检查帐号信息
 * @param $username
 * @param $password
 * @return bool
 */
function login($username, $password) {
    $gms = C('GM_USERS');
    if (is_array($gms)) {
        foreach ($gms as $k => $v) {
            if ($k == $username && $v == $password) {
                $_SESSION['ADMIN_USER'] = $username;
                return true;
            }
        }
    }
    return false;
}

/**
 * 登出
 */
function logout() {
    unset($_SESSION['ADMIN_USER']);
}

/**
 * 检查当前是否登录
 * @return bool
 */
function is_login() {
    return isset($_SESSION['ADMIN_USER']);
}

/**
 * 对象转JSON字符串
 * @param $value
 * @return mixed|string
 */
function json_encode_ex($value)
{
    if (version_compare(PHP_VERSION,'5.4.0','<')) {
        $str = json_encode($value);
        $str = preg_replace_callback(
                                    "#\\\u([0-9a-f]{4})#i",
                                    function($matchs)
                                    {
                                         return iconv('UCS-2BE', 'UTF-8', pack('H4', $matchs[1]));
                                    },
                                     $str
                                    );
        return $str;
    }
    else {
        return json_encode($value, JSON_UNESCAPED_UNICODE);
    }
}

/**
 * 格式化邮件字符串
 * @param $receiver     收件人
 * @param $subject      标题
 * @param $body         内容
 * @param $money        金币
 * @param $item_id      道具编号
 * @param $item_count   道具数量
 * @return string
 */
function format_mail($receiver, $subject, $body, $money, $item_id, $item_count) {
    $mailData = array(
        'receiver'      => $receiver,
        'subject'       => $subject,
        'body'          => $body,
        'money'         => $money,
    );
    if ($item_id != 0) {
        $mailData['items'] = array(
            array( 'id' => $item_id, 'count' => $item_count )
        );
    }
    return json_encode_ex($mailData);
}
